package net.oschina.arvin.sqlbuilder.annotations;

import net.oschina.arvin.sqlbuilder.enums.ColumnMapStrategy;

import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;

/**
 * 数据库表
 *
 * @author Arvin
 * @time 2017/11/15 17:03
 */
@Documented
@Target(TYPE)
@Retention(RUNTIME)
public @interface Table {

    /**
     * 数据库表名称， 如果没有写的话就按照下划线来处理
     */
    String name() default "";

    /**
     * 字段映射策略， 默认是以下划线方式映射
     */
    ColumnMapStrategy mapStrategy() default ColumnMapStrategy.UNDERLINE;
}
